home *** CD-ROM | disk | FTP | other *** search
/ BBS in a Box 7 / BBS in a Box - Macintosh - Volume VII (BBS in a Box) (January 1993).iso / Files / Hyper / K-L / Lander.cpt / Lunar Lander / card_4769.txt < prev    next >
Text File  |  1989-07-03  |  8KB  |  279 lines

  1. -- card: 4769 from stack: in
  2. -- bmap block id: 0
  3. -- flags: 0000
  4. -- background id: 4521
  5. -- name: 
  6. ----- HyperTalk script -----
  7. on startPlay
  8.   closeDialog
  9.   set the cursor to none
  10.   global groundY,startTime,fallY,delayFactor
  11.   put 50 into fuel
  12.   put 3 into fallX
  13.   put 0 into fallY
  14.   put false into fireSound
  15.   put the loc of cd btn "module" into spaceLoc
  16.   put "module 0" into position
  17.   play "eep"
  18.   repeat while the sound is not "done"
  19.   end repeat
  20.   commPlay "copy"
  21.   put the ticks into startTime
  22.   repeat
  23.     if delayFactor > 0 then wait delayFactor ticks
  24.     if the commandKey is down and word 2 of position < 3 then add 1 to word 2 of position
  25.     if the optionKey is down and word 2 of position > -3 then subtract 1 from word 2 of position
  26.     if the shiftKey is down and fuel > 0 then put "modulef" into word 1 of position
  27.     else put "module" into word 1 of position
  28.     set the icon of cd btn "module" to position
  29.     if last char of word 1 of position is "f" then
  30.       if fireSound is false then
  31.         if the sound is "done" then play blowup a0h.
  32.         put true into fireSound
  33.       end if
  34.       subtract 1.25 from fallY
  35.       add .3 * word 2 of position to fallX
  36.       add .2 * abs (word 2 of position) to fallY
  37.       subtract 1 from fuel
  38.       if the random of 15 = 1 then commPlay "4 forward"
  39.       put "FUEL:  " & fuel * 2 & "%" into cd fld "message"
  40.     else
  41.       if fireSound is true and the random of 8 = 1 then commPlay "engine"
  42.       put false into fireSound
  43.       if fuel < 1 then
  44.         if the sound is "done" then play beep c3e.
  45.         if word 1 of cd fld "message" is "FUEL:" then put "OUT OF FUEL" into cd fld "message"
  46.       end if
  47.     end if
  48.     add .5 to fallY
  49.     set the loc of cd btn "module" to item 1 of the loc of cd btn "module" + trunc(fallX), item 2 of the loc of cd btn "module" + trunc (fallY)
  50.  
  51.     if the loc of cd btn "module" is not within "0,0,512,342" then
  52.       outOfBounds
  53.       exit repeat
  54.     end if
  55.     if item 1 of the loc of cd btn "module" > item 1 of the rect of cd btn "pad" and item 1 of the loc of cd btn "module" < item 3 of the rect of cd btn "pad" and item 2 of the loc of cd btn "pad" = item 2 of the loc of cd btn "module" + 3 then
  56.       if abs(fallY) >= 2 or abs(fallX) > 1 or (the icon of cd btn "module" <> 23961 and the icon of cd btn "module" <> 11865) then
  57.         bendModule
  58.         exit repeat
  59.       end if
  60.       landingSequence
  61.       exit repeat
  62.     end if
  63.     if item 2 of the loc of cd btn "module" + 2 > item round(item 1 of the loc of cd btn "module" / 10) + 1 of groundY then
  64.       crashModule
  65.       exit repeat
  66.     end if
  67.     if item 2 of the loc of cd btn "module" < item 2 of the loc of cd btn "pad" - 10 then set the hilite of cd btn "pad" to not the hilite of cd btn "pad"
  68.     else
  69.       set the hilite of cd btn "pad" to true
  70.       if the random of 10 = 1 then commPlay "3 feet"
  71.       if the random of 10 = 1 then commPlay "dust"
  72.     end if
  73.     if the random of 15 = 1 then play "eep"
  74.     if fallX >= 1 and fallX < 3 and the random of 10 = 1 then commPlay "drifting"
  75.   end repeat
  76.   go first
  77. end startPlay
  78.  
  79. on crashModule
  80.   global fallY
  81.   play blowup c3w.
  82.   set the hilite of cd btn "pad" to false
  83.   repeat with count = 1 to 3
  84.     repeat 6 times
  85.       set the icon of cd btn "module" to "crash " & count
  86.       set the icon of cd btn "module" to "crash " & count + 1
  87.     end repeat
  88.   end repeat
  89.   lock screen
  90.   set the loc of cd btn "module" to item 1 of the loc of cd btn "module",item 2 of the loc of cd btn "module" + 10
  91.   set the icon of cd btn "module" to "crash 5"
  92.   unlock screen with visual effect dissolve
  93.   wait 1 seconds
  94.   dialog "Your poor landing has destroyed the spacecraft and " & "created a new lunar crater " & abs(fallY) * 5 & " feet deep."
  95. end crashModule
  96.  
  97. on bendModule
  98.   play blowup c3w.
  99.   lock screen
  100.   set the icon of cd btn "module" to "crash 3"
  101.   unlock screen with visual effect dissolve
  102.   lock screen
  103.   set the icon of cd btn "module" to "bent"
  104.   unlock screen with visual effect dissolve
  105.   dialog "Your poor landing has severely damaged the lunar module.  "
  106. end bendModule
  107.  
  108. on landingSequence
  109.   set the icon of cd btn "module" to "module 0"
  110.   repeat while the sound is not "done"
  111.   end repeat
  112.   commPlay "landed"
  113.   show cd btn "flag" at item 1 of the loc of cd btn "module" + 17, item 2 of the loc of cd btn "module" - 3
  114.   play silence c4e
  115.   repeat while the sound is not "done"
  116.   end repeat
  117.   wait 1 seconds
  118.   dialog "Congratulations on a successful landing!"
  119. end landingSequence
  120.  
  121. on outOfBounds
  122.   hide cd btn "module"
  123.   play beep c3e.
  124.   dialog "The lunar module has drifted out of the landing area and is now floating out of control."
  125. end outOfBounds
  126.  
  127. on commPlay whichNoise
  128.   if the sound is not "done" then exit commPlay
  129.   play blowup g4s
  130.   play silence c4s.
  131.   play whichNoise
  132.   play silence c4s.
  133.   play blowup g4s
  134.   if whichNoise is not "copy" and whichNoise is not "landed" and the random of 5 = 1 then
  135.     play silence c4e.
  136.     play "copy"
  137.     play silence c4e.
  138.     play blowUp g4s
  139.   end if
  140. end commPlay
  141.  
  142. on dialog mess
  143.   global startTime
  144.   put mess & return & return & "Elapsed time for this mission:  " & (the ticks - startTime) / 60 & " seconds" into cd fld "dialog"
  145.   show cd fld "dialog"
  146.   show cd btn "OK"
  147.   show cd btn "cover"
  148.   set the cursor to hand
  149.   repeat while the visible of cd btn "cover" is true
  150.     if the mouseClick then click at the clickLoc
  151.   end repeat
  152. end dialog
  153.  
  154. on closeDialog
  155.   set the cursor to watch
  156.   hide cd btn cover
  157.   hide cd btn "OK"
  158.   hide cd fld "dialog"
  159. end closeDialog
  160.  
  161.  
  162.  
  163. -- part 7 (field)
  164. -- low flags: 01
  165. -- high flags: 0000
  166. -- rect: left=237 top=10 right=49 bottom=454
  167. -- title width / last selected line: 0
  168. -- icon id / first selected line: 0 / 0
  169. -- text alignment: 1
  170. -- font id: 2
  171. -- text size: 12
  172. -- style flags: 10496
  173. -- line height: 16
  174. -- part name: message
  175.  
  176.  
  177. -- part 1 (button)
  178. -- low flags: 00
  179. -- high flags: 0000
  180. -- rect: left=28 top=10 right=55 bottom=62
  181. -- title width / last selected line: 0
  182. -- icon id / first selected line: 23961 / 23961
  183. -- text alignment: 1
  184. -- font id: 0
  185. -- text size: 12
  186. -- style flags: 0
  187. -- line height: 16
  188. -- part name: module
  189.  
  190.  
  191. -- part 2 (button)
  192. -- low flags: 00
  193. -- high flags: 4000
  194. -- rect: left=304 top=252 right=264 bottom=337
  195. -- title width / last selected line: 0
  196. -- icon id / first selected line: 16745 / 16745
  197. -- text alignment: 1
  198. -- font id: 0
  199. -- text size: 12
  200. -- style flags: 0
  201. -- line height: 16
  202. -- part name: pad
  203.  
  204.  
  205. -- part 3 (button)
  206. -- low flags: 80
  207. -- high flags: 0000
  208. -- rect: left=380 top=302 right=329 bottom=397
  209. -- title width / last selected line: 0
  210. -- icon id / first selected line: 19292 / 19292
  211. -- text alignment: 1
  212. -- font id: 0
  213. -- text size: 12
  214. -- style flags: 0
  215. -- line height: 16
  216. -- part name: Flag
  217.  
  218.  
  219. -- part 4 (button)
  220. -- low flags: 80
  221. -- high flags: 0000
  222. -- rect: left=0 top=0 right=343 bottom=512
  223. -- title width / last selected line: 0
  224. -- icon id / first selected line: 0 / 0
  225. -- text alignment: 1
  226. -- font id: 0
  227. -- text size: 12
  228. -- style flags: 0
  229. -- line height: 16
  230. -- part name: cover
  231. ----- HyperTalk script -----
  232. on mouseDown
  233.   beep
  234. end mouseDown
  235.  
  236.  
  237.  
  238. -- part 5 (field)
  239. -- low flags: 81
  240. -- high flags: 2004
  241. -- rect: left=84 top=57 right=174 bottom=409
  242. -- title width / last selected line: 0
  243. -- icon id / first selected line: 0 / 0
  244. -- text alignment: 0
  245. -- font id: 3
  246. -- text size: 12
  247. -- style flags: 8448
  248. -- line height: 16
  249. -- part name: dialog
  250.  
  251.  
  252. -- part 6 (button)
  253. -- low flags: 80
  254. -- high flags: A003
  255. -- rect: left=331 top=145 right=166 bottom=399
  256. -- title width / last selected line: 0
  257. -- icon id / first selected line: 0 / 0
  258. -- text alignment: 1
  259. -- font id: 0
  260. -- text size: 12
  261. -- style flags: 0
  262. -- line height: 16
  263. -- part name: OK
  264. ----- HyperTalk script -----
  265. on mouseUp
  266.   closeDialog
  267. end mouseUp
  268.  
  269.  
  270.  
  271. -- part contents for card part 7
  272. ----- text -----
  273. FUEL:  98%
  274.  
  275. -- part contents for card part 5
  276. ----- text -----
  277. Your poor landing has destroyed the spacecraft and created a new lunar crater 74.75 feet deep.
  278.  
  279. Elapsed time for this mission:  37.5 seconds